Early optical computer mice used speckle-based light sensors to detect light reflected from a surface. For example, a computer mouse might have used sets of perpendicularly-oriented photodiodes to generate time-varying x-direction and y-direction outputs corresponding to movement of the mouse over a surface. These outputs could then be relayed to a computer system so that the computer system could determine the relative movement of the mouse with respect to the surface.
More recently, optical computer mice have used image-based light sensors to detect light reflected from a surface. For example, a computer mouse might acquire successive images of the light that is reflected from a surface. A navigation engine (typically on-board the mouse) will then compare successive ones of the images to generate time-varying x-direction and y-direction outputs corresponding to movement of the mouse over a surface.